Automatic journal creation

ABSTRACT

Techniques are described that facilitate the automatic creation of journals that may include a variety of related content. Journal creation functionality may be furnished by a server to one or more client devices to create journals of content that include content from one or more content sources. The content provided by the content sources includes tags (e.g., metadata) describing the content. Thus, a client device may furnish a request to a server to create a journal of content. The request includes an attribute to relate the content of the journal. The server causes content to be associated with the journal from one or more computer-readable content sources accessible by the server by associating one or more of the content tags with the attribute for one or more existing journals and thereafter creating the journal using the processor by causing content from the one or more existing journals to be associated with the journal, the associated content having tags associated with the attribute.

BACKGROUND

Portable electronic devices such as mobile phones (e.g., smart phones,cellular telephones, etc.), personal navigation devices (PNDs), and soforth can be used to access an ever increasing variety of content. Forexample, portable electronic devices may be equipped to acquire contentsuch as audio files, photograph files, video files, e-mails, navigationinformation, short message service (SMS) communications, multimediamessaging service (MMS) communications, voice mail, voice memos,weather, map data, saved routes, text files, data files, and so on.Additionally, portable electronic devices may be used to access contentsuch as video, audio, navigation information, news, blogs, and so on,from a variety of remote sources over a wired or wireless network.

Various software applications are employed by portable electronicdevices to access different types of content and present the content tothe user of the device. For example, a messaging application may beemployed by a portable electronic device to send and receive SMS and/orMMS text messages, a browser application may be employed by the deviceto access video and audio content, and so on. Typically, suchapplications also manage access and storage of the content available onthe portable electronic device. Thus, content accessed by the device istypically stored and presented with content of the same type.

SUMMARY

Techniques are described that facilitate the automatic creation ofjournals that may include a variety of related content. In one or moreimplementations, journal creation functionality may be furnished by aserver to one or more client devices to create journals of content thatinclude content from one or more content sources. The content providedby the content sources includes tags (e.g., metadata) describing thecontent. Thus, a client device may furnish a request to a server tocreate a journal of content. The request includes an attribute to relatethe content of the journal. The server causes content to be associatedwith the journal from one or more computer-readable content sourcesaccessible by the server by associating one or more of the content tagswith the attribute for one or more existing journals and thereaftercreating the journal using the processor by causing content from the oneor more existing journals to be associated with the journal, theassociated content having tags associated with the attribute.

In one or more implementations, the server may cause content to beassociated with the journal from one or more computer-readable contentsources accessible by the server by finding content that contains theattribute and associating the content with a journal. In one or moreimplementations, the server may cause content to be associated with thejournal by associating one or more of the content tags with theattribute and/or finding content that contains the attribute.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is described with reference to the accompanyingfigures. In the figures, the left-most digit(s) of a reference numberidentifies the figure in which the reference number first appears. Theuse of the same reference numbers in different instances in thedescription and the figures may indicate similar or identical items.

FIG. 1 is an illustration of an environment in an example implementationthat includes a server operable to furnish journal creationfunctionality to one or more client devices.

FIG. 2 is a Venn diagram illustrating an intersection of two existingjournals.

FIG. 3 is a flow diagram depicting a procedure in an exampleimplementation in which a client device furnishes a request to create ajournal to a server.

FIG. 4 is a flow diagram depicting a procedure in an exampleimplementation in which a request to create a journal is furnished tothe server from a client device.

FIG. 5 is a block diagram illustrating an example process of creating ajournal in response to a request for a new journal.

FIG. 6 is a Venn diagram illustrating two example existing journals thatdo not intersect.

FIG. 7 is a Venn diagram illustrating an example procedure to create arequested journal using content from two existing journals that do notintersect.

DETAILED DESCRIPTION Overview

Content may be stored within the journal and/or accessible via links. Inone or more implementations, the server may continue associating contenthaving the associated attribute after the initial journal creation. Theclient device may furnish a request to a server to create a journal. Itis to be understood that while one or more implementations describedherein illustrate the client device as the source of the request, therequest may originate from a web client, application, plug-in, and othersystems external to the client device that may be used to create andsend a request. The request may identify an attribute that is to be usedto associate the content of the requested journal. The server may searchaccessible content sources for content that may be of interest to theuser who requested the journal. The content sources may be remote datasources, content stored on the server or client devices, or separatestorage drives. The server may select content for the requested journalfrom one or more content sources that are accessible by the server byidentifying content stored in the content sources with the identifiedattribute. The server creating the journal may then complete thecreation of the requested journal by associating the selected contentwith the requested journal. The completed journal may be returned to theuser's client device, stored on the server, or remotely at a contentsource. The content that is available for searching and selecting at thecontent sources may include one or more data tags (e.g., metadata)containing searchable information that may be useful for describing thestored content. Information that may be contained in the tags includesany information that may have been associated automatically or manuallyby another user. Available information may include, but is not limitedto, notes, names, location information, date, time, communications, etc.

Electronic data tags are a type of meta-information that describe someaspect of content to which they are associated with. The use of tags hasgained wide popularity due to the growth of social networking,photography sharing, search engines, and bookmarking websites. Thesewebsites allow users to create and manage tags that categorize contentusing simple keywords. Increasingly, tags may include more informationthan traditional non-hierarchical keywords or terms. For example, tagsmay provide information about the associated content in the form ofdescriptions, categorizations, classifications, semantics, comments,notes, annotations, hyperlinks, or references. Tags may be combined intotag profiles that reference the content resources that reside indistributed, and often heterogeneous, storage repositories. The contentprovided by content sources may include one or more tags (e.g.,metadata) describing the content.

Accordingly, techniques are described that facilitate the automaticcreation of journals that may include a variety of tagged content thatis related by one or more shared attributes. As used herein, a journalmay be viewed as an organized collection of tagged content that sharesone or more attributes. For example, a journal may be comprised of acollection of content files, which may have a variety of formats, thatare associated together according to one or more attributes that linkthe files in some manner. Various types of client devices (e.g., mobilephones, smart phones, personal navigation devices, tablet computers,athletic training devices, cameras, and so on) can create differenttypes of content. Journals can be created using any and/or all of thisdiverse content.

Tagged content suitable for inclusion in a journal may be referred toherein as a “journalable.” A journal may thus include a variety oftagged content (or journalables) including, but not limited to:photographic files, audio files, video files, text files, data files,emails, short message service (SMS), multimedia messaging service (MMS),communications, voice mail, phone calls, voice memos, weather, map data,and so on; device-generated content such as navigation informationincluding geo-coordinates, geographical data, maps, calculated routes,saved routes, departure times, arrival times, waypoints visited, elapsedtime at locations, point of interest (POI) searches conducted, vehicleinformation (speed, direction, etc.), OBD-II data from a vehicleinterface, biometric and cardiovascular information, and so on; externalcontent such as news, weather, ambient information such as backgroundmusic, and so on; media content such as the identification (e.g., titleand artist) of music was being played, the identification (e.g., titleand artist) of videos that were watched, what web sites were accessed,what web content was posted; related-device content such as nearbydevices/computer networks, paired devices (e.g., a camera), data that isshared with nearby devices, and so on; augmented related content toenable AR functionality during playback; extensible content (e.g., thetechniques may be extensible, for example, by allowing users to registernew content).

The tagged content may be associated with the journal in a variety ofways. In one or more implementations, the content may be stored as partof the journal. In one or more implementations, the content may bestored separately from the journal and internally referenced by thejournal. For instance, the journal may use links to the content asinternal references.

In one or more implementations, the techniques described may beimplemented in a server/client system environment. In suchimplementations, functionality may be furnished by a server to one ormore client devices to create journals that associate content selectedfrom one or more content sources. In one or more implementations, theserver may be a collection of server computers operating independentlyor collectively.

When a journal is to be created, a client device furnishes a request tothe server to cause the server to generate the journal. The request mayidentify one or more attributes to be used to associate the content thatwill be part of the journal to be created by the server. The server maythen select content from one or more content sources accessible by theserver to be included in the journal after searching the content sourcesfor suitable content. In implementations, the content is selected byfirst identifying content tags that at least partially match, or relateto but do not at least partially match, the attribute requirements thatwere identified in the request to ascertain which content tags should beused in selection of content for association with the journal.Thereafter, the server selects the content having the selected tags. Theserver may then create one or more journals and associate the selectedcontent with the journal. Thus, searches of tagged content may be storedin an organized manner as a journal instead of as singular, unrelatedsearch results.

In the following discussion, an example environment is first describedthat is operable to perform the techniques to select content associatedwith one or more attributes of a request and cause the selected contentto be associated with a journal. Exemplary procedures are then describedthat may be employed in the exemplary environment, as well as in otherenvironments without departing from the spirit and scope thereof.

Example Environment

FIG. 1 illustrates an environment 100 in an example implementation thatis operable to facilitate the automatic creation of journals inaccordance with the present disclosure. The illustrated environment 100includes a server 102 and a client device 104 that communicates with theserver 102 via one or more networks 106. The server 102 may access oneor more content sources 108 that include tagged content 110 that may beincluded in the journals 112 and accessed by the client device 104. Thejournals 112 may be configured to present a wide variety of content 110and/or links 114 to content 110 in an organized manner to furnish a richcontent access experience to the user of the client device 104.

The server 102 may be configured in a variety of ways. For example, theserver 102 may be configured as one or more server computers that arecapable of communicating over a network 106. In one implementation, theserver 102 may be a server computer configured to furnish journal 112with creation, storage, manipulation, and/or editing functionality thatis accessible by one or more clients such as client device 104 asgenerally described hereinbelow.

The client device 104 may also be configured in a variety of ways. Forexample, the client device 104 may be configured as a location-awaredevice such as a navigation device, a mobile phone (e.g., a smart phone,a cell phone, etc.), a portable media player, a mobile internet device,a portable computing device, and so forth that is capable ofcommunicating over network 106. The client device 104 may also beconfigured as a computer such as a desktop or laptop computer that iscapable of communicating over network 106. Thus, the client device 104may range from a full resource device with substantial memory andprocessor resources (e.g., a personal computer) to low resource deviceswith limited memory and/or processing resources (e.g., a cell phone).Additionally, although one client device 104 is illustrated, it is to beunderstood that server 102 may provide the functionality describedherein to multiple client devices 104.

The network 106 may assume a wide variety of configurations. The network106 is representative of a variety of different types of networks andconnections that are contemplated including, but not limited to, wiredand wireless networks. Examples of wireless networks include, but arenot limited to: networks configured for communications according to: oneor more standard of the Institute of Electrical and ElectronicsEngineers (IEEE), such as 802.11 or 802.16 (Wi-Max) standards; Wi-Fistandards promulgated by the Wi-Fi Alliance; Bluetooth standardspromulgated by the Bluetooth Special Interest Group; and so on. Wiredcommunications are also contemplated such as through universal serialbus (USB), Ethernet, serial connections, and so forth. In someimplementations, the network 106 may include a wide-area cellulartelephone network, such as a 3G cellular network, a satellite network,mobile data network, the Internet, a wide area network (WAN), a localarea network (LAN), a public telephone network, an extranet, anintranet, and so on. In an implementation, the network 106 may comprisea single network (e.g., a single wide-area cellular telephone network).In other implementations, the network 106 may comprise multiple networks(e.g., a wide-area cellular telephone network and the Internet) thatfacilitate communication between the server 102 and the client device104.

The network 106 may be representative of a variety of differentcommunication pathways and network connections that may be employed,individually or in combinations, to communicate among the components ofthe environment 100. Thus, the network 106 may be representative ofcommunication pathways achieved using a single network or multiplenetworks.

In FIG. 1, the server 102 and the client device 104 are illustrated asincluding a respective processor 116 or 118; a respective memory 120 or122; and a respective network interface 124 or 126. In the followingdiscussion, elements of the server 102 are described with reference toFIG. 1. Respective elements and/or reference numbers related to theclient device 104 are shown in parentheses. Where appropriate, elementsof the client device 104 are described separately.

The processor 116 (118) provides processing functionality for the server102 (client device 104) and may include any number of processors,micro-controllers, or other processing systems and resident or externalmemory for storing data and other information accessed or generated bythe server 102 (client device 104). The processor 116 (118) may executeone or more software programs that implement techniques describedherein. The processor 116 (118) is not limited by the materials fromwhich it is formed or the processing mechanisms employed therein and, assuch, may be implemented via semiconductor(s) and/or transistors (e.g.,electronic integrated circuits (ICs)), and so forth.

The memory 120 (122) is an example of tangible computer-readable mediathat provides storage functionality to store various data associatedwith the operation of the server 102 (client device 104), such as thesoftware program and executable program segments mentioned above, orother data to instruct the processor 116 (118) and other elements of theserver 102 (client device 104) to perform the steps described herein.Although a single memory 120 (122) is shown, a wide variety of types andcombinations of memory may be employed. The memory 120 (122) may beintegral with the processor 116 (118), stand-alone memory, or acombination of both. The memory may include, for example, removable andnon-removable memory elements such as RAM, ROM, Flash (e.g., SD Card,mini-SD card, micro-SD Card), magnetic, optical, USB memory devices, andso forth. In implementations of the client device 104, the memory 122may include removable ICC (Integrated Circuit Card) memory such asprovided by SIM (Subscriber Identity Module) cards, USIM (UniversalSubscriber Identity Module) cards, UICC (Universal Integrated CircuitCards), and so on.

The network interface 124 (126) provides functionality to enable theserver 102 (client device 104) to communicate with one or more networks(depicted in FIG. 1 as network 106). In various implementations, thenetwork interface 124 (126) may include a variety of components such asmodems, routers, wireless access points, cellular telephonetransceivers, and so forth, and any associated software employed bythese components (e.g., drivers, configuration software, and so on). Insome implementations, the network interface 124 (126) may be an internalcomponent of the server 102 (client device 104). However, in otherimplementations, one or more components of the network interface 124(126) may be external components communicatively coupled to the server102 (client device 104) via a wired or wireless connection.

The client device 104 may further include a position-determining module128 configured to provide location-determining functionality for theclient device 104. Location-determining functionality, for purposes ofthe following discussion, may relate to a variety of differentnavigation techniques and other techniques that may be supported by“knowing” one or more locations. For instance, location-determiningfunctionality may be employed to provide location data, timing data,speed data, and a variety of other navigation-related data.

In implementations, the position-determining module 128 may comprise areceiver that is configured to receive signals from one or moreposition-transmitting sources. For example, the position-determiningmodule 128 may be configured for use with a Global Navigation Satellitesystem (GNSS), such as Global Positioning System (GPS), Global OrbitingNavigation Satellite System (GLONASS), Galileo positioning system, orthe Compass navigation system. In some implementations, theposition-determining module 128 may comprise a GPS receiver operable toreceive navigational signals from GPS satellites used to determine thelocation of the client device 104 as a function of the signals.

While a GPS system is described in this document, it is contemplatedthat a wide variety of other positioning systems may also be used, suchas terrestrial based systems (e.g., wireless-telephony systems or datasystems that broadcast position data from cellular towers), wirelessnetworks that transmit positioning signals, and so on. For example,positioning-determining functionality may be implemented through the useof a server in a server-based architecture, from a ground-basedinfrastructure, through one or more sensors (e.g., gyros or odometers),and so on.

The client device 104 may be configured to perform a variety ofnavigation related functions. For example, the client device 104 may beconfigured for vehicle navigation, aerial navigation (e.g., foraircraft, helicopters, and so on), marine navigation, personal use(e.g., a mobile device or fitness-related equipment), and so forth.Accordingly, the client device 104 may include multipleposition-determining modules 128 to determine the location of the device104 using a variety of the techniques as described above.

The client device 104 may also include a communication module 130representative of communication functionality to permit client device104 to send/receive data between different devices (e.g.,components/peripherals) and/or over the network 106. Communicationmodule 130 may be representative of a variety of communicationcomponents and functionality including, but not limited to: one or moreantennas; a browser; a transmitter and/or receiver; a wireless radio;data ports; software interfaces and drivers; networking interfaces; dataprocessing components; and so forth.

The client device 104, through functionality represented by thecommunication module 130, may be configured to communicate via one ormore networks 106 with a cellular provider and an Internet provider toreceive mobile phone service and Internet content, respectively.

The client device 104 includes a display 132 to display information to auser of the mobile electronic device 104. In some implementations, thedisplay 132 may comprise an LCD (Liquid Crystal Diode) display, a TFT(Thin Film Transistor) LCD display, an LEP (Light Emitting Polymer) orPLED (Polymer Light Emitting Diode) display, and so forth, configured todisplay text and/or graphical information such as a graphical userinterface. The display 132 may be backlit via a backlight such that itmay be viewed in the dark or other low-light environments. In someimplementations, the display 132 may not be integrated into the clientdevice 104 and may instead be connected externally using wireless orwired communication, such as universal serial bus (USB), Ethernet,serial connections, and so forth.

The display 132 may be provided with a touch screen 134 for user inputof data and commands. For example, a user may operate the client device104 by touching the touch screen 134 and/or by performing gestures onthe screen 134. In some implementations, the touch screen 134 may be acapacitive touch screen, a resistive touch screen, an infrared touchscreen, combinations thereof, and the like.

The client device 104 may further include one or more input/output (I/O)devices 136 (e.g., a keypad, buttons, a wireless input device, athumbwheel input device, mouse, a trackstick input device, and so on).The I/O devices 136 may include one or more audio I/O devices, such as amicrophone, speakers, and so on.

The client device 104 may contain an integrated camera 138 that isconfigured to capture image content such as still photographs and/orvideo by digitally recording images using an electronic image sensor orother image capturing hardware. In some implementations, captured imagecontent may be stored as digital image files in memory 122. The digitalimage files may be stored in a variety of file formats. For example,digital still photographs may be stored using a Joint PhotographyExperts Group standard (JPEG) file format, Tagged Image File Format(TIFF), Raw data formats, and so on. Digital video may be stored using aMotion Picture Experts Group (MPEG) file format, an Audio VideoInterleave (AVI) file format, a Digital Video (DV) file format, aWindows Media Video (WMV) format, and so forth. Exchangeable image fileformat (Exif) data may be included with digital image files to providemetadata about the image media. For example, Exif data may provideinformation regarding the date and time the image content was captured,the location where the content was captured, and the like. Digital imagecontent may be displayed by display 132 and/or transmitted to otherdevices via the one or more networks 106 (e.g., via an email or MMS textmessage).

The client device 104 may include a user interface module 140, whichprovides functionality to control the display of information and data tothe user of the client device 104 via the display 132. The userinterface module comprises computer readable executable program that isstorable in memory 122 and executable by the processor 118.

The client device may include an application module 142 that iscomprised of computer readable executable program, which is storable inmemory 122 and executable by the processor 118, to perform a specificoperation or group of operations to furnish functionality to the clientdevice 104. The application module 142 may include an executable programsuch as cellular telephone application, instant messaging application,email client application, photograph sharing application, calendarapplication, address book application, and so forth. In someimplementations, the application module 142 may include one or morestand-alone applications operable for execution by the processor 118.

In some implementations, the user interface module 140 may providefunctionality to allow the user to interact with the application module142 of the client device 104 by providing interaction with the touchscreen 134 and/or the I/O devices 136. For example, the user interfacemodule 140 may cause an application programming interface (API) to begenerated to expose functionality to provide the user interaction withthe application module 142, where the user interface is outputted to thedisplay 132 and user input is received via the touch screen 134 and/orthe I/O devices 136.

The client device 104 may further include a content tagging module 144,which may be implemented as a computer readable executable programstored in memory 122 and executed by the processor 118. The contenttagging module 144 is representative of content tagging functionalitythat is provided by the client device 104. The content taggingfunctionality allows the client device 104 to generate and/or assign oneor more tags 146 to content 110 created and/or accessed by the clientdevice 104. Similarly, the server 102 may also be provided with acontent tagging module 148, which may be implemented as a computerreadable executable program stored in memory 120 and executed by theprocessor 116. The content tagging module 148 of the server 102 isrepresentative of content tagging functionality that may be provided bythe server 102, either alone, or in combination with the content taggingfunctionality provided by the content tagging module 144 of the clientdevice 104. In implementations, the tags 146 assigned by the contenttagging module 148 (144) may comprise meta-information (e.g., metadata)that provides some information regarding the content, which may be usedto categorize the tagged content 110. The tags 146 may captureinformation regarding the tagged content 110 in the form ofdescriptions, categorizations, classifications, semantics, comments,notes, annotations, hyperlinks, references, and so on.

Tagged content 110 may be stored in a variety of locations. As shown inFIG. 1, tagged content 110 may be stored in one or more content sources108. The content sources 108 must be accessible to server 102. In someimplementations, the content sources 108 are accessible by the server102 and/or client device 104 through the network 106. As shown in FIG.1, tagged content 110 may also be stored in the memory 120 (122) of theserver 102 and/or the client device 104. Thus, the server 102 and/or theclient device 104 may themselves serve as content sources 108 for server102. In some implementations, the content sources 108 may includecontent 110 stored on a separate storage device to which the server 102and/or client device 104 have access without the use of network 106.Tagged content 110 may comprise any content that may be associated with(e.g., stored in, linked by, etc.) one or more existing journal(s) 112on one or more client devices 104.

In one or more implementations, either or both of the content taggingmodules 148 (144) may cause content 110 to be tagged with a geospatialtag (e.g., a tag 146) that includes geo-referenced location information(e.g., latitude, longitude, and/or altitude) and/or a temporal tag(e.g., a tag 146) that includes date, day, and/or time information.Thus, a geospatial tag 146 may provide a location (e.g.,latitude/longitude coordinates) to the tagged content 110. Similarly, atemporal tag 146 may provide a time value (e.g., the time the content110 was created) to the tagged content 110.

The content tagging modules 148 (144) may be configured to furnishcontent tagging functionality in response to a user request. Thus, theuser may enter a tag to be applied to tagged or untagged content 110manually using the display 132, touch screen 134, and/or an I/O device136 such as a keypad, microphone, and so on. In implementations, thecontent tagging module 148 (144) may cause the user of the client device104 to be prompted to enter text for a tag to be applied to content 110acquired by the client device 104. Thus, for example, the contenttagging module 144 of a client device 104 may cause a prompt to bedisplayed by the display 132 to facilitate tagging of a still photographcaptured by the camera 138. Other examples are possible.

The content tagging modules 148 (144) may also be configured to furnishautomatic content tagging functionality. Thus, content 110 accessed bythe client device 104 may be tagged with one or more tags 146 withoutuser intervention. For example, the content tagging module 144 of aclient device 104 may automatically tag content 110 accessed (e.g.,received, acquired, recorded, etc.) by the client device 104 with ageospatial tag and/or temporal tags 146 to indicate the location of theclient device 104 when the content 110 was accessed and/or the time thatthe content 110 was accessed by the client device 104. Moreover, thecontent tagging modules 148 (144) may be configured to automatically tagcontent 110 with tags 146 that may be appropriate for the content 110.For example, the content tagging module 144 of the client device 104 mayautomatically tag a photograph captured by the camera 138 that is takennear a certain location (e.g., “Grandma” or “Disneyland”) with a tag 146derived from the location's title (e.g., “Grandma” or “Disneyland”). Toautomatically tag content with information associated with nearbylocations, the client device 104 may determine its current locationusing the position-determining module 128, access map data stored withinthe memory 122, and identify points of interest (POIs) that relate tothe determined current location. Similarly, the content tagging module148 of the server 102 may automatically tag an email sent from theclient device 104 with terms derived from the subject of the email, thename or email address of the sender, and/or the name or email address ofthe recipients.

Tags 146 for content 110 may be based on tags 146 previously applied tocontent 110 by the content tagging modules 148 (144). For example, thecontent tagging module 144 of the client device 104 may be configured toautomatically generate tag 146 for content 110 acquired at ageoreferenced location based on a tag 146 provided to content 110previously acquired at or near the georeferenced location. Thus, in anexample, the content tagging module 144 of the client device mayautomatically tag a still photograph taken at a georeferenced locationwith the tag “swimming” because the user of the client device 104 haspreviously caused the content tagging module 144 to manually tag a stillphotograph taken at a prior time at or near the location with the tag146 “swimming”.

The content tagging modules 148 (144) may create tags 146 based onprevious entries in email, text messages, contacts, calendars, and soon. Further, it is contemplated that multiple tags 146 may be generatedautomatically for a given content file. In this manner, the contenttagging modules 148 (144) may automatically generate dynamic tag setsfor selection by the user. Tags 146 within such tag sets may be based onlocation (e.g., georeferenced coordinates, POI proximity, etc.), time,events, cross-references from other content, journals, journalables andusers, and so on.

In one or more implementations, the content tagging modules 148 (144)may assign a confidence level to tags 146 applied to content 110. Forexample, the content tagging module 144 may assign a high confidencelevel to a tag 146 manually entered by a user of the client device 104.Thus, a tag 146 entered by the user to tag a photograph (e.g.,“Grandma”) may be given a higher confidence level than a tag 146automatically generated for a photograph by the content tagging module144 of the client device 104 based on proximity to a POI (e.g.,“Grandma”) when the photograph was taken, which, in turn, may be given ahigher confidence level than a tag 146 applied to a photograph by thecontent tagging module 148 of the sever 102 at a later time. Confidencelevels may be applied in a variety of formats. For example, confidencelevels may comprise discrete confidence descriptions (e.g., “High,”“Medium,” and “Low”), a numeric rating (e.g., a rating of “1” for lowestconfidence to “10” for highest confidence), and so on.

The client device 104 may further include a journaling module 150, whichmay be implemented as a computer readable executable program stored inmemory 122 and executed by the processor 118. The journaling module 150is representative of functionality implemented in the client device 104that facilitates the creation of a journal 112. In some implementations,the journaling module 150 may create journals 112 automatically. Thejournaling module 150 may, for example, facilitate the creation ofjournals 112 that include content 110 selected from the content 110resident within the memory 122 of the client device 104. This content110 may be created by the client device 104 (e.g., photographs, POIs,text files, etc.) and/or received by the client device 104 via thenetwork 106 (e.g., emails, SMS messages, MMS messages, etc.).

The journaling module 150 may also generate a journal 112 automaticallywith minimal or no user intervention. For example, the journaling module150 may automatically generate a journal 112 for an event (e.g., abaseball game, a wedding, a business meeting, etc.) when the userattends the event or automatically generate a journal for a specificlocation when the client device 104 is determined to be at or near thelocation. A variety of other examples are possible.

The journaling module 150 of the client device 104 may communicate withthe server 102 via the network 106 (e.g., via network interface 126) tofacilitate the creation of journals 112 that include content 110 orlinks 114 to content 110 selected from a variety of content sources 108.Thus, as shown in FIG. 1, the server 102 may further include a journalcreation module 152, which may be implemented as a computer readableexecutable program stored in memory 120 and executed by the processor116 of the server 102. The journal creation module 152 is representativeof functionality implemented on the server 102 that facilitates thecreation of journals 112 that include content 110 selected from one ormore content sources 108. In some implementations, the journal creationmodule 152 may facilitate the creation of journals 112 automatically.

When a journal 112 is to be created, the journaling module 150 of theclient device 104 generates a request 154 that includes one or moreattributes 156 selected to relate the content 110 that will be part ofthe requested journal 112. For instance, the journaling module 150 maycause the user interface module 140 to furnish a prompt to the user ofthe client device 104 via the display 132 to allow the user to identifyor select the one or more attributes 156 to relate the content 110 ofthe journal 112 via the touch screen 134, an I/O device such as a keypador a microphone, and so on. A variety of attributes 156 may beidentified. For example, the user may identify or select a text searchstring (e.g., a name, an event, a place, etc.), geo-coordinates (e.g.,latitude, longitude, and/or altitude) derived from the positiondetermining module 128, a calendar item, a text message (e.g., an SMS orMMS message), an email, and so on. The identified attributes 156 arethen included in the request 154. The journaling module 150 may thencause network interface 126 to transmit the generated request 154 viathe network 106 to the server 102 where it is received by the server 102using the network interface 124. The journal creation module 152 maythen generate the requested journal 112 in response to the request 154.More specifically, the journal creation module 152 may search for andselect content 110 for the journal 112 from various content sources 108accessible by the server 102.

In some implementations, a web client may be used to send the request154 identifying one or more attributes 156 and one or more clientdevices 104 to receive or create the requested journal 112. Forinstance, a third party may use a web client to send the request 154 tothe server 102 or the journaling module 150 of one or more clientdevices 104. The request 154 may be sent to the journaling module 150instead of the server 102 if the journal 112 will be created by theclient device 104 without assistance from the server 102.

In some implementations, content 110 may have a tag 146 associated withthe content 110. The journal creation module 152 may utilize the tag toselect content 110 for the requested journal 112 by first associatingcontent tags 146 with one or more attributes 156 to ascertain theappropriate tags 146 to be used in selection of content 110 forinclusion with the journal 112. The journal creation module 152 may, forinstance, select tags 146 that at least partially match one or more ofthe attributes 156 in the request 154 received from the client device104. Thus, in an example, the journal creation module 152 may select thetags “Grandma” and “Grandma's House” as being associated with theattribute 156 “Grandma” in a request 154. The journal creation module152 may further identify tags 146 that do not at least partially matchan attribute 156 of the request 154, but which are related to anattribute 156 in some manner. Thus, in an example, the journal creationmodule 152 may select geospatial tags 146 comprised of a latitude,longitude, and/or altitude that at least approximately match thelocation of the home of the grandmother of the user of the client device104 as being associated with the attribute 156 “Grandma” describedabove. Similarly, in another example, the journal creation module 152may select the tag 146 “Smith family reunion” as being associated withthe attribute 156 “Grandma” of the request 154. A variety of otherexamples are possible.

In one or more implementations, the journal creation module 152 mayselect content 110 for the requested journal 112 by associating contentelements and/or tags 146 that reference one or more attributes 156 to beused for inclusion within the journal 112. For instance, as illustratedin FIG. 5, content elements may comprise searchable image content, videocontent, text content, navigation information content, combinationsthereof, and the like. The journal creation module 152 may find completematches, partial matches, and relationships to attribute 156 for alltypes and formats of content elements that may be contained withincontent 110. The journal creation module 152 may, for instance, selectcontent elements that at least partially match one or more of theattributes 156 in the request 154 received from the client device 104.In an example, the journal creation module 152 may select text, images,video, and navigation information content that use or include the words“Grandma” and “Grandma's House” as being associated with the attribute156 “Grandma” in a request 154. Thus, the journal creation module 152may select content 110 for the requested journal 112 based on thecontent elements within the content 110 and without requiring referenceto the tags 146 associated with the content 110.

The journal creation module 152 may further identify content elementsthat do not at least partially match an attribute 156 of the request154, but which are related to an attribute 156 in some manner. Thus, inan example, the journal creation module 152 may select content 110comprised of content elements like latitude, longitude, and/or altitudethat at least approximately match the specified attribute 156—e.g., thelocation of the home of the grandmother of the user of the client device104 as described in the above. Similarly, in another example, thejournal creation module 152 may select content 110 comprised of acontent element of “Smith family reunion” as being associated with theattribute 156 “Grandma” of the request 154. A variety of other examplesare possible for selecting content based on its content elements. Forinstance, both tags 146 and content elements may be utilized to selectcontent 110 for included in the requested journal 112.

In some implementations, content 110 may not have a tag 146 associatedwith the content 110. When a tag is not associated with the content 110,the journal creation module 152 may select content 110 for the requestedjournal 112 by associating content elements with one or more attributes156 to ascertain the appropriate content 110 to be used for inclusionwithin the journal 112.

The journal creation module 152 may then select content 110 from thevarious content sources 108, which may include the server 102, theclient device 104, other client devices 104, content 110 stored onseparate storage devices to which the server 102 and/or client device104 have access without the use of network 106, and so on, that includethe selected tags 146 (i.e., the tags 146 associated with the one ormore attributes 156 of the request 154). For instance, in the examplesdiscussed above, the journal creation module 152 having selected thetags 146 “Grandma,” “Grandma's house,” a geospatial tag, and “Smithfamily reunion,” as tags 146 associated with the attribute 156“Grandma,” may search for and/or select content 110 that are associatedwith the selected tags 146 (i.e., “Grandma,” “Grandma's house,” ageospatial tag, and “Smith family reunion”).

The journal creation module 152 may then create the requested journal112 and associate the selected content 110 with the journal 112. Forexample, the journal 112 may comprise a file that contains the selectedcontent 110 (e.g., journalables). Thus, the journal creation module 152may include functionality to save the selected content 110 to a file ina structured manner, thus creating the journal 112. The journal creationmodule 152 may assign an identifier such as a name, number, or the liketo the journal 112 (e.g., to the file) for storage, categorization,searching for, and/or retrieval of the journal 112. Thus, in the examplediscussed above, the journal creation module 152 may create a journal112 that is comprised of a file having the name “Grandma,” whichincludes various content 110 such as photographs, text files, SMSmessages, MMS messages, emails, calendar entries, video, audio, POIs,navigation routes, and so on, stored in a structured manner.

The journal 112 may also comprise a file that contains one or morelink(s) 114 to the selected content 110. Thus, the journal creationmodule 152 may include functionality to create a journal 112 that iscomprised of a file containing links 114 to the selected content 110arranged in a structured manner within the file. The file containing thelinks 114 may comprise either the entirety or a portion of the selectedcontent 110 in a journal 112. This implementations save available memoryby providing access to the content 110 without storing the content 110within the journal 112. In such implementations, the content 110 may bestored separately from the journal 112, for instance, by the variouscontent sources 108 (including the server 102, client device 104, and/orother client devices 104) in a distributed manner. For example, thecontent 110 may remain stored by the content sources 108 that originallyfurnished the content 110 to the server. It is further contemplated thatthe journal 112 may include combinations of copied content 110 and/orlinks 114 to content 110 stored in a distributed fashion by one or moreof the content sources 108.

After the journal creation module 152 of the server 102 has completedthe process of creating the journal 112, it may then cause the journal112 to be furnished to the journaling module 150 of the client device104 so that the selected content 110 may be accessed by the user of theclient device 104. For example, the journal creation module 152 maycause the journal 112, which may contain selected content 110 and/orlinks 114 to selected content 110, to be transmitted to the clientdevice 104 where it is stored in memory 122. The journaling module 150,the user interface module 140, and/or one or more application module(s)142 may be configured to provide functionality to access the content 110associated with the journal 112.

In some implementations, the journal creation module 152 may cause thejournal 112 to be stored in memory 120 of the server 102 and/or by oneor more content source(s) 108. Thus, the journal 112 would be accessibleby the client device 104 through the network 106.

The journaling module 150 may facilitate the entry of journal creationsettings by the user of the client device 104 via the touch screen 134,an I/O device such as a keypad or a microphone, and so on. Thejournaling module 150 may then provide these settings to the journalcreation module 152 to control the amount, subject matter, and types ofcontent 110 to be used when the journal 112 is created. Content 110 arenot duplicated until the journal 112 is created (e.g., the process islightweight to record content). In some implementations, the journalingmodule 150 may directly create journals without the assistance of thejournal creation module 152.

It is contemplated that content 110 may be selected from one or moreexisting journals 112 by the journaling module 150 and/or the journalcreation module 152. The journal creation module 152 may identify anintersection, as illustrated in FIG. 2, between two or more existingjournals 112 based on a time-place element, a friend-social networkelement, confidence level assigned to the content 110, combinationsthereof, and the like. In some situations, the journal creation module152 may identify no intersection, as illustrated in FIG. 6.

In some implementations, the journal creation module 152 may includefunctionality to select content 110 for the journal 112 from one or moreexisting journals 112 that are not identified as having an intersectionby the journal creation module 152. In such an implementation, thejournal creation module 152 creates a new requested journal 112 withselected content 110 from one or more existing journals 112 that do notintersect. For instance, as illustrated in FIG. 7, the journal creationmodule 152 may identify two journals, Journal 1 112 and Journal 2 112,before associating content tags 146 with the one or more attributes 156to ascertain the appropriate tags 146 to be used in selection of content110 for inclusion into the requested journal 112. Once the tags 146 areselected, the journal creation module 152 may select content 110 fromJournal 1 112 and/or Journal 2 112 that includes the selected tags 146for inclusion into requested journal 112. The journal creation module152 may, for example, select the tags “Grandma,” “Grandma's house,” ageospatial tag, and “Smith family reunion,” as tags 146 associated withthe attribute 156 “Grandma.” The journal creation module 152 may searchfor and/or select content 110 that include the selected tags 146 (i.e.,“Grandma,” “Grandma's house,” a geospatial tag, and “Smith familyreunion”) that is associated with one or more existing journals 112. Inone example, the selected content 110 may be photographs of Grandma thatare associated with one or more existing journals 112 (e.g., journals112 belonging to separate users labeled “Sister's Wedding” and“Family”). All selected photographs may be associated with the requestedjournal 112. In another example, the selected content 110 may be videosfrom the Smith family reunion. The videos may be included in a Journal 1112 created by a first user (e.g., labeled “Smith Family Reunion”)stored in memory 122 of the first user's client device 104 as well as aJournal 2 112 (e.g., labeled “Family and Friends”) created by a seconduser and stored by a third party content source 108. All selected videosmay be associated with the requested journal 112.

In some implementations, the journal creation module 152 may includefunctionality to select content 110 for a journal 112 that is related toan intersection between one or more existing journals 112. In such animplementation, the journal creation module 152 creates a new requestedjournal 112 with selected content 110 common to one or more existingjournals 112. Content 110 that is common to one or more existingjournals 112 may be distinct and unique. For instance, as illustrated inFIG. 2, the journal creation module 152 identifies two or more existingjournals 112 that contain intersecting content 110 by first associatingcontent tags 146 with the one or more attributes 156 to ascertain theappropriate tags 146 to be used in selection of content 110 forinclusion into the requested journal 112. Once the tags 146 areselected, the journal creation module 152 selects content 110 common tothe two or more existing journals 112 that include the selected tags 146for inclusion into requested journal 112.

The journal creation module 152 may identify an intersection between twoor more existing journals 112 based on a time-place element and/or afriend-social network element. For instance, in one example, Bob is afriend with Joe, and Joe is a friend with Carl. The journal creationmodule 152 may identify an intersection between two or more existingjournals 112 at least partially based on the friend-social networkelement. In an implementation, an attribute 156 may be created entitled“Joe's birthday.” A first journal 112 created by Bob may contain taggedcontent 110 associated with Joe's birthday party (e.g., photographs fromJoe's party, SMS messages relating to Joe's party, and so on), and asecond journal 112 created by Carl also contains tagged content 110associated with Joe's birthday party (e.g., photographs from Joe'sparty, navigation information to the location of Joe's party, and soon). However, both journals 112 may contain content 110 that is notassociated with Joe's birthday party. Thus, the journal creation module152 may select the content 110 related to Joe's birthday party andcommon to the first and second journals 112 by associating the contenttags 146 of the tagged content 110 with the attribute 156.

The journal creation module 152 may also identify an intersectionbetween two or more existing journals 112 that are associated with asocial networking site (e.g., FACEBOOK, MYSPACE, BEBO, CollegeBlender,FLICKR, TWITTER, and so on). In an implementation, the journal creationmodule 152 may identify content 110 that is common to two or moreexisting journals associated with one or more social networking sites.For instance, a first user may have a tagged video included in the firstuser's journal 112 on FACEBOOK. A second user may also have the taggedvideo included in the second user's journal 112 on FACEBOOK. The journalcreation module 152 may select the tagged video by identifying a tag 146associated with the tagged videos and associating the tag 146 with anattribute 156 of the request 154.

The journal creation module 156 may also identify an intersection atleast partially based on a time-place element. For example, a user mayhave taken a trip to the Grand Canyon on Sep. 3, 2010. The journalingmodule 150 of the client device 104 may generate a request 154 to createa journal 112 containing an attribute 156 entitled “Grand Canyon—Sep. 3,2010.” The journal creation module 152 ascertains the appropriate taggedcontent 110 to be used in selection of content 110 by associatingcontent tags 146 with the attribute 156 (“Grand Canyon—Sep. 3, 2010”).The journal creation module 152 may select content 110 that include theselected tags 146 and is common to two or more existing journal(s) 112.For example, the selected content 110 may be related to anotherindividual's (or a group of individuals') trip to the Grand Canyon onSep. 3, 2010. This content 110 may include photographs and/or videocreated by the other individuals proximate to the Grand Canyon on Sep.3, 2010.

The journal creation module 152 may also identify an intersection atleast partially based on a confidence level assigned to the content 110.For example, the journal creation module 152 ascertains one or more tags146 to be used in selection of content 110 by associating content tags146 with the attribute 156. Once the selected tags 146 have beenascertained, the journal creation module 152 selects content 110 thatinclude the selected tags 146 and a predetermined confidence levelassigned to the content 110 that is common to two or more existingjournals 112. For example, the journal creation module 152 may selectcontent 110 when the content 110 includes the selected tags 146 and theconfidence level assigned to content 110 is “High” as discussed above.The confidence level condition may be predefined by a user manuallyentering the required confidence level into journaling module 150. Theconfidence level condition may also be predefined as a default value inthe journal creation module 152.

Generally, any of the functions described herein can be implementedusing software, firmware, hardware (e.g., fixed logic circuitry), manualprocessing, or a combination of these implementations. The terms“module” and “functionality” as used herein generally representsoftware, firmware, hardware or a combination thereof. In the case of asoftware implementation, for instance, the module represents executableinstructions that perform specified tasks when executed on a processor,such as the processors 116 and 118 of the server 102 and client device104, respectively, of FIG. 1. The executable program can be stored inone or more computer readable media, an example of which is the memory120 and 122 of the server 102 and client device 104, respectively, ofFIG. 1. The features of the techniques to facilitate the automaticcreation of journals described below are platform-independent, meaningthat the techniques may be implemented on a variety of commercialcomputing platforms having a variety of processors.

Example Procedures

The following discussion describes techniques to facilitate theautomatic creation of journals. Aspects of each of the procedures may beimplemented in hardware, firmware, or software, or a combinationthereof. The procedures are shown as a set of blocks that specifyoperations performed by one or more devices and are not necessarilylimited to the orders shown for performing the operations by therespective blocks. In portions of the following discussion, referencewill be made to the environment 100 of FIG. 1 and the exampleintersection illustrated by the Venn diagram of FIG. 2.

FIG. 3 depicts a procedure 300 in an example implementation in which aclient device 104 facilitates the creation of a journal 112 andthereafter provides access to the journal 112 created by the server 102and/or client device 104. As illustrated, a user employs the clientdevice 104 to cause a journal 112 to be created (block 302 a). Forexample, the user may employ the client device 104 illustrated in FIG. 1to generate a request 154 to create a journal 112. The user may generatethe request 154 via the touch screen 134, an I/O device such as a keypador a microphone, and so on. In an implementation, a journaling module150 residing on client device 104 may furnish the request 154 to ajournal creation module 152 residing on server 102 via a network 106(block 304). An implementation of the server 102 response to the request154 is described below. The requested journal is then received (block306). As shown in FIG. 1, the journaling module 150 receives therequested journal 112 from journal creation module 152. The requestedjournal 112 is then stored into memory 122 (block 308).

In another example, the user may employ the client device 104 to cause ajournal 112 to be created (block 302 b). For example, the journalingmodule 150 illustrated in FIG. 1 may automatically create one or morejournal(s) 112 that include content 110 selected from the content 110resident within the memory 122 that has been tagged by the contenttagging module 144.

Access may then be provided to the content 110 associated with therequested journal 112 (block 310). In an implementation, the journalingmodule 150 may provide access to the contents 110 associated with therequested journal 112. For example, a user of client device 104 mayaccess the requested journal 112 via the journaling module 150 (block312). In another example, the user of client device 104 may access therequested journal 112 via a user interface module 140 (block 314). Inyet another example, the user of client device 104 may access therequested journal 112 via one or more application modules 142.

FIG. 4 depicts a procedure 400 in an example implementation in whichcontent 110 is selected for inclusion into a requested journal 112. Asillustrated, a request 154 to create a journal 112 of content 110 isreceived from a client device 104 (block 402). For example, as shown inFIG. 1, the journaling module 150 of the client device 104 may generatea request 154, which includes one or more attributes 156, to create ajournal 112. The server 102 illustrated in FIG. 1 is configured toreceive the request 154 from the journaling module 150. In someexamples, where the journal 112 is created by the client device 104, thejournaling module 150 of the client device 104 may generate and fill therequest 154 to create a journal 112 without assistance from a server102.

Next, a content source 108 is accessed (block 404). The one or moreattribute(s) 156 is/are associated with content tags 146 (block 406). Itis to be understood that while the process of searching tags 146 isillustrated in one or more implementations, searching can also be basedon searchable content within the content 110 itself using text,recognizable images, video, biometric and cardiovascular informationcontent, names of journals, vehicle information content, navigationinformation content, etc. Navigation information content comprises anyinformation that may be used to determine or plan the location-basedservices. For instance, navigation information may include, but is notlimited to, geo-coordinates, geographical data, map data, routes,waypoints, points of interest, points of interest searches, departuretimes, and arrival times.

In an implementation, the journal creation module 152 associates contenttags 146 with the one or more attribute(s) 156 to ascertain theappropriate tags 146 to be used in the selection of content 110. Forexample, the journal creation module 146 may select tags that at leastpartially match the one or more attribute(s) identified in the request154 (block 408). For instance, the journal creation module 152 mayselect the tags containing the text “Grandma” and “Grandma's House” asbeing associated with the attribute 156 “Grandma” in a request 154. Inanother example, the journal creation module 152 may select tags 146that are related to but do not match the one or more attributes 156 inthe request 154 (block 410). For instance, the journal creation module152 may select geospatial tags 146 comprised of a latitude, longitude,and/or altitude that at least approximately match the location of thehome of the grandmother of the user of the client device 104 as beingassociated with the attribute 156 “Grandma” described above. In yetanother example, content 110 may be selected that is related to anintersection between one or more existing journals 112 (block 412). Forexample, as shown in FIG. 2, the journal creation module 152 mayidentify an intersection between the one or more existing journal(s) 112(block 414). The journal creation module 152 may further identify theintersection by identifying content 110 common to two or more existingjournals 112 (block 416). The identified content 110 common to the twoor more existing journals 112 is/are selected for inclusion into therequested journal 112 (block 418)

The content 110 is/are selected from the content source 108 forinclusion into the journal 112 (block 420). For example, as shown inFIG. 1, the journal creation module 152 may select content 110 from thevarious content sources 108 that include the selected tags 146. Forinstance, the journal creation module 152, having selected the tags 146“Grandma,” Grandma's house,” a geospatial tag, and “Smith familyreunion,” as tags 146 associated with the attribute 156 “Grandma,” maysearch for and/or select content 110 that is/are associated with theselected tags 146.

Next, the selected content 110 is/are associated with the requestedjournal 112 (block 422). In one example, the journal creation module 152may associate content 110 with the requested journal 112 by saving theselected content 110 to a file in a structured manner (block 424). Inanother example, as shown in FIG. 1, the journal creation module 152 mayassociate content 110 with the requested journal 112 by creating a filethat includes one or more link(s) 114 to the selected content 110 (block426). For instance, the content 110 may be stored separately from thejournal 112 in various content sources 108 (e.g., the server 102, theclient device 104, and/or other client devices 104) in a distributedmanner. The user of client device 104 may access the selected content110 by selecting (e.g., clicking, etc.) the appropriate link 114associated with the selected content 110. In some examples, the content110 may be associated with the requested journal by using a combinationof saving selected content 110 directly to a file and creating a filethat includes one or more links 114 to selected content 110 that isstored separately. Thus, content 110 associated with the journal 112 maybe presented to the user in any format using the display 132, the I/Odevices 136, the user interface module 140, combinations thereof, andthe like.

CONCLUSION

Although the invention has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the invention defined in the appended claims is not necessarilylimited to the specific features or acts described. Rather, the specificfeatures and acts are disclosed as example forms of implementing theclaimed invention.

1. A method for creating a journal, the method comprising: receiving arequest from a client device through a network to create a journal ofcontent, the request including an attribute relating to the content ofthe journal; accessing a computer-readable content source with aprocessor, the content source comprising one or more existing journalsincluding content having tags describing the content; associating one ormore of the tags of the one or more existing journals with the attributeusing the processor; and creating the journal using the processor bycausing content from the one or more existing journals to be associatedwith the journal, the associated content having tags associated with theattribute.
 2. The method as recited in claim 1, wherein associating oneor more tags with the attribute comprises identifying tags at leastpartially matching the attribute.
 3. The method as recited in claim 1,wherein associating one or more tags with the attribute comprisesidentifying tags related to, but not at least partially matching, theattribute.
 4. The method as recited as claim 1, wherein causing contentto be associated with the journal comprises storing the associatedcontent in a computer-readable medium.
 5. The method as recited as claim1, wherein causing content to be associated with the journal comprisesmaking the content accessible using links to the content.
 6. The methodas recited in claim 1, wherein associating one or more of the tags withthe attribute comprises: identifying tags that at least partially matchthe attribute; identifying tags that are related to but do not at leastpartially match the attribute; and selecting the identified tags to beassociated with the attribute.
 7. The method as recited in claim 5,wherein the selecting of identified tags to be associated with theattribute comprises selecting content related to the identified tags. 8.The method as recited in claim 1, wherein the tags comprise a geospatialtag configured to associate a location with the content.
 9. The methodas recited in claim 1, wherein the tags comprise a temporal tagconfigured to associate a time with the content.
 10. The method of claim1, further including transmitting the journal and associated content tothe client device for display by the client device to a user.
 11. Themethod of claim 1, further including displaying the journal and theassociated content.
 12. A system comprising a server operable to createa journal in response to a request received from a client device, therequest including an attribute relating to the content of the journal,the server operable to: access a content source comprising one or moreexisting journals including content having tags describing the content,associate one or more of the tags of the one or more existing journalswith the attribute, and create the journal by causing content from theone or more existing journals to be associated with the journal, theassociated content having tags associated with the attribute.
 13. Thesystem as recited in claim 12, wherein the server is operable toassociate one or more tags with an attribute by identifying tags atleast partially matching the attribute.
 14. The system as recited inclaim 12, wherein the server is operable to associate one or more tagswith an attribute by identifying tags related to, but not at leastpartially matching, the attribute.
 15. The system as recited in claim12, wherein the server is operable to cause content to be associatedwith the journal by storing the content within the journal.
 16. Thesystem as recited in claim 12, wherein the server is operable to causecontent to be associated with the journal by making the contentaccessible using links to the content.
 17. The system as recited inclaim 12, wherein the server is further operable to: identify tags thatat least partially match the attribute; identify tags that are relatedto but do not at least partially match the attribute; and select theidentified tags to be associated with the attribute.
 18. The system asrecited in claim 17, wherein the tags comprise a geospatial tagconfigured to associate a location with the content.
 19. The system asrecited in claim 17, wherein the tags comprise a temporal tag configuredto associate a time with the content.
 20. A system for creating ajournal, the system comprising: a client device operable to: create arequest including an attribute relating to the content of the journal;and provide the request through a network; and a server operable to:receive the request through the network; access a content sourcecomprising one or more existing journals including content having tagsdescribing the content; associate one or more of the tags of the one ormore existing journals with the attribute; and create the journal bycausing content from the one or more existing journals to be associatedwith the journal, the associated content having tags associated with theattribute.